home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 140 / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan).7z / Gekkan Dennou Club - 2000.1 Vol. 140 (Japan) (Track 1).bin / tools / dshell / dsh333bs.lzh / gsub.s < prev    next >
Text File  |  1999-12-05  |  1KB  |  66 lines

  1. *
  2. *    dshell    v3
  3. *
  4. *    gmode.c の下請けルーチン (Cソースより手コンパイル)
  5. *
  6. *    void set_ibit(void);
  7. *
  8.  
  9.  
  10. _B_SUPER    .equ    $81
  11.  
  12. GRAMST    .equ    $c00000        * GRAM開始アドレス
  13. GRAMED    .equ    $c80000        * GRAM終端アドレス+1
  14. GRPALST    .equ    $e82000        * GRAMパレット開始
  15. GRPALED    .equ    $e82200        * GRAMパレット終端+1
  16.  
  17.  
  18.     .globl    _set_ibit
  19.  
  20. *
  21. *    void set_ibit(void)
  22. *
  23. *    輝度ビットが無視されるようパレットを操作し、
  24. *    半透明のために輝度ビットをセットする
  25. *        (Original code was written by BEEPs (g_sub.c))
  26. *
  27. _set_ibit:
  28.     movem.l    d3/d4,-(sp)
  29.  
  30.     suba.l    a1,a1
  31.     moveq    #_B_SUPER,d0
  32.     trap    #15
  33.     movea.l    d0,a1
  34.  
  35.     moveq    #1,d1        * color code seed
  36.     moveq    #(GRPALED-GRPALST)/4-1,d2    * loop counter
  37.     move.w    #$fefe,d3
  38.     move.w    #$0202,d4
  39.     lea    GRPALST,a0
  40. loop1:    move.w    d3,d0
  41.     and.w    d1,d0
  42.     move.w    d0,(a0)+
  43.     move.w    d1,(a0)+
  44.     add.w    d4,d1
  45.     dbra    d2,loop1
  46.  
  47. .xref    _noSetIbitFlag
  48.     tst.b    _noSetIbitFlag
  49.     bne    @f
  50.     move.l    #$0001_0001,d0
  51.     lea    GRAMST,a0
  52.     move.w    #512*512/16-1,d1
  53. loop2:
  54. .rept    8
  55.     or.l    d0,(a0)+
  56. .endm
  57.     dbra    d1,loop2
  58.  
  59. @@:    moveq    #_B_SUPER,d0
  60.     trap    #15
  61.  
  62.     movem.l    (sp)+,d3/d4
  63.     rts
  64.  
  65.     .end
  66.